'''
关系运算符中的“==”是比较两个变量的值是否相等。身份运算符用来判断两个变量是否指向同一个内存对象
运算符	示 例	    说 明
is	    a is b	    如果a和b引用的是同一个对象则返回True，否则返回False
is not	a is not b	如果a和b引用的不是同一个对象则返回True，否则返回False

ps:Python为了优化速度，使用了小整数对象池，避免为整数频繁申请和销毁内存空间。Python中的小整数是指在[-5, 256]区间的整数，
这些整数对象是提前创建好的，不会被回收。在一个Python程序中，所有相同的小整数都是同一个对象。当数值不在小整数对象池内时，
会自动创建新的对象。但是，此时会有一个大整数池，即处于同一个代码块（一个代码块就是一个.py文件）的相同的大整数是同一个对象。
同理，Python中相同的单个字符也是同一个对象，处于同一个代码块的相同的浮点数，以及具有相同元素的字符串和元组都是同一个对象。
'''
#判断三个整型变量是否为同一个对象。
int1 = 500					#定义变量int1，赋值为500
int2 = 500					#定义变量int2，赋值为500
int3 = 520					#定义变量int3，赋值为520

print('int1和int2引用的是同一对象？', int1 is int2)
print('int1和int3引用的是同一对象？', int1 is int3)
print('int1的内存地址：', id(int1), '\nint2的内存地址：', id(int2),
      '\nint3的内存地址：', id(int3))

int1 = 520					#修改int1的值为520
print('修改值后的int1和int3引用的是同一对象？', int1 is int3)
print('修改值后的int1内存地址：', id(int1))